import request from '../request'

// 获取文件列表
export function getFileList(params) {
  return request({
    url: '/files',
    method: 'get',
    params
  })
}

// 创建文件
export function createFile(data) {
  return request({
    url: '/files',
    method: 'post',
    data
  })
}

// 更新文件
export function updateFile(fileId, data) {
  return request({
    url: `/files/${fileId}`,
    method: 'put',
    data
  })
}

// 删除文件
export function deleteFile(fileId) {
  return request({
    url: `/files/${fileId}`,
    method: 'delete'
  })
}

// 导出文件
export function exportFile(fileId, data) {
  return request({
    url: `/files/${fileId}/export`,
    method: 'post',
    data,
    responseType: 'blob' // 用于下载文件
  })
}

// 获取文件详情
export function getFileDetail(fileId) {
  return request({
    url: `/files/${fileId}`,
    method: 'get'
  })
}

// 收藏文件
export function favoriteFile(fileId) {
  return request({
    url: `/files/${fileId}/favorite`,
    method: 'post'
  })
}

// 取消收藏文件
export function unfavoriteFile(fileId) {
  return request({
    url: `/files/${fileId}/favorite`,
    method: 'delete'
  })
}

// 获取收藏文件列表
export function getFavoriteFiles(params) {
  return request({
    url: '/files/favorites',
    method: 'get',
    params
  })
}

// 获取回收站文件列表
export function getTrashFiles(params) {
  return request({
    url: '/files/trash',
    method: 'get',
    params
  })
}

// 恢复文件
export function restoreFile(fileId) {
  return request({
    url: `/files/${fileId}/restore`,
    method: 'post'
  })
}

// 永久删除文件
export function permanentlyDeleteFile(fileId) {
  return request({
    url: `/files/${fileId}/permanent`,
    method: 'delete'
  })
} 